package com.ruoyi.wx.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 车辆信息对象 vehicles
 *
 * @author oy
 * @date 2022-12-13
 */
public class Vehicles extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 车辆编码 */
    @Excel(name = "车辆编码")
    private Long carId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String carNo;

    /** 设备号 */
    @Excel(name = "设备号")
    private String deviceNo;

    /** SIM卡号 */
    @Excel(name = "SIM卡号")
    private String simNo;

    /** 车辆类型编码 */
    @Excel(name = "车辆类型编码")
    private Long carTypeId;

    /** 车辆类型名称 */
    @Excel(name = "车辆类型名称")
    private String carTypeName;

    /** 组编码 */
    @Excel(name = "组编码")
    private Long groupId;

    /** 组名称 */
    @Excel(name = "组名称")
    private String groupName;

    /** 司机编码 */
    @Excel(name = "司机编码")
    private String driverId;

    /** 司机姓名 */
    @Excel(name = "司机姓名")
    private String driverName;

    /** 司机电话 */
    @Excel(name = "司机电话")
    private String driverTel;

    /** 发动机号 */
    @Excel(name = "发动机号")
    private String engineNo;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brand;

    /** 颜色 */
    @Excel(name = "颜色")
    private String colour;

    /** 限载人数 */
    @Excel(name = "限载人数")
    private Long capacity;

    /** 排量（升） */
    @Excel(name = "排量", readConverterExp = "升=")
    private Long displacement;

    /** 里程系数 */
    @Excel(name = "里程系数")
    private Long mileageRatio;

    /** 档案编号 */
    @Excel(name = "档案编号")
    private Long fileNo;

    /** 车辆识别码 */
    @Excel(name = "车辆识别码")
    private String identityNo;

    /** 登记日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "登记日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerDate;

    /** 购买日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buyDate;

    /** 年审日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "年审日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date annualReviewDate;

    /** 证件照 */
    @Excel(name = "证件照")
    private String certificatePic;

    /** 图片 */
    @Excel(name = "图片")
    private String pic;

    /** 车主 */
    @Excel(name = "车主")
    private String owner;

    /** 保管人 */
    @Excel(name = "保管人")
    private String custodian;

    /** 购买地址 */
    @Excel(name = "购买地址")
    private String buyAddress;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 使用状态（1-正常，2-维修，3-报废） */
    @Excel(name = "使用状态", readConverterExp = "1=-正常，2-维修，3-报废")
    private String useStatus;

    /** 状态（0-有效，1-无效） */
    @Excel(name = "状态", readConverterExp = "0=-有效，1-无效")
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 配件（1-摄像头，2-油针，3-温感，4-门磁正传，5-门磁反转） */
    @Excel(name = "配件", readConverterExp = "1=-摄像头，2-油针，3-温感，4-门磁正传，5-门磁反转")
    private String[] parts;

    private String partss;

    private Double countWeight;

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Double getCountWeight() {
        return countWeight;
    }

    public void setCountWeight(Double countWeight) {
        this.countWeight = countWeight;
    }

    public String getPartss() {
        return partss;
    }

    public void setPartss(String partss) {
        this.partss = partss;
    }

    public void setCarId(Long carId)
    {
        this.carId = carId;
    }

    public Long getCarId()
    {
        return carId;
    }
    public void setCarNo(String carNo)
    {
        this.carNo = carNo;
    }

    public String getCarNo()
    {
        return carNo;
    }
    public void setDeviceNo(String deviceNo)
    {
        this.deviceNo = deviceNo;
    }

    public String getDeviceNo()
    {
        return deviceNo;
    }
    public void setSimNo(String simNo)
    {
        this.simNo = simNo;
    }

    public String getSimNo()
    {
        return simNo;
    }
    public void setCarTypeId(Long carTypeId)
    {
        this.carTypeId = carTypeId;
    }

    public Long getCarTypeId()
    {
        return carTypeId;
    }
    public void setCarTypeName(String carTypeName)
    {
        this.carTypeName = carTypeName;
    }

    public String getCarTypeName()
    {
        return carTypeName;
    }
    public void setGroupId(Long groupId)
    {
        this.groupId = groupId;
    }

    public Long getGroupId()
    {
        return groupId;
    }
    public void setGroupName(String groupName)
    {
        this.groupName = groupName;
    }

    public String getGroupName()
    {
        return groupName;
    }
    public void setDriverId(String driverId)
    {
        this.driverId = driverId;
    }

    public String getDriverId()
    {
        return driverId;
    }
    public void setDriverName(String driverName)
    {
        this.driverName = driverName;
    }

    public String getDriverName()
    {
        return driverName;
    }
    public void setDriverTel(String driverTel)
    {
        this.driverTel = driverTel;
    }

    public String getDriverTel()
    {
        return driverTel;
    }
    public void setEngineNo(String engineNo)
    {
        this.engineNo = engineNo;
    }

    public String getEngineNo()
    {
        return engineNo;
    }
    public void setBrand(String brand)
    {
        this.brand = brand;
    }

    public String getBrand()
    {
        return brand;
    }
    public void setColour(String colour)
    {
        this.colour = colour;
    }

    public String getColour()
    {
        return colour;
    }
    public void setCapacity(Long capacity)
    {
        this.capacity = capacity;
    }

    public Long getCapacity()
    {
        return capacity;
    }
    public void setDisplacement(Long displacement)
    {
        this.displacement = displacement;
    }

    public Long getDisplacement()
    {
        return displacement;
    }
    public void setMileageRatio(Long mileageRatio)
    {
        this.mileageRatio = mileageRatio;
    }

    public Long getMileageRatio()
    {
        return mileageRatio;
    }
    public void setFileNo(Long fileNo)
    {
        this.fileNo = fileNo;
    }

    public Long getFileNo()
    {
        return fileNo;
    }
    public void setIdentityNo(String identityNo)
    {
        this.identityNo = identityNo;
    }

    public String getIdentityNo()
    {
        return identityNo;
    }
    public void setRegisterDate(Date registerDate)
    {
        this.registerDate = registerDate;
    }

    public Date getRegisterDate()
    {
        return registerDate;
    }
    public void setBuyDate(Date buyDate)
    {
        this.buyDate = buyDate;
    }

    public Date getBuyDate()
    {
        return buyDate;
    }
    public void setAnnualReviewDate(Date annualReviewDate)
    {
        this.annualReviewDate = annualReviewDate;
    }

    public Date getAnnualReviewDate()
    {
        return annualReviewDate;
    }
    public void setCertificatePic(String certificatePic)
    {
        this.certificatePic = certificatePic;
    }

    public String getCertificatePic()
    {
        return certificatePic;
    }
    public void setPic(String pic)
    {
        this.pic = pic;
    }

    public String getPic()
    {
        return pic;
    }
    public void setOwner(String owner)
    {
        this.owner = owner;
    }

    public String getOwner()
    {
        return owner;
    }
    public void setCustodian(String custodian)
    {
        this.custodian = custodian;
    }

    public String getCustodian()
    {
        return custodian;
    }
    public void setBuyAddress(String buyAddress)
    {
        this.buyAddress = buyAddress;
    }

    public String getBuyAddress()
    {
        return buyAddress;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }
    public void setUseStatus(String useStatus)
    {
        this.useStatus = useStatus;
    }

    public String getUseStatus()
    {
        return useStatus;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createTime;
    }
    public void setParts(String[] parts)
    {
        this.parts = parts;
    }

    public String[] getParts()
    {
        return parts;
    }



    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("carId", getCarId())
            .append("carNo", getCarNo())
            .append("deviceNo", getDeviceNo())
            .append("simNo", getSimNo())
            .append("carTypeId", getCarTypeId())
            .append("carTypeName", getCarTypeName())
            .append("groupId", getGroupId())
            .append("groupName", getGroupName())
            .append("driverId", getDriverId())
            .append("driverName", getDriverName())
            .append("driverTel", getDriverTel())
            .append("engineNo", getEngineNo())
            .append("brand", getBrand())
            .append("colour", getColour())
            .append("capacity", getCapacity())
            .append("displacement", getDisplacement())
            .append("mileageRatio", getMileageRatio())
            .append("fileNo", getFileNo())
            .append("identityNo", getIdentityNo())
            .append("registerDate", getRegisterDate())
            .append("buyDate", getBuyDate())
            .append("annualReviewDate", getAnnualReviewDate())
            .append("certificatePic", getCertificatePic())
            .append("pic", getPic())
            .append("owner", getOwner())
            .append("custodian", getCustodian())
            .append("buyAddress", getBuyAddress())
            .append("remarks", getRemarks())
            .append("useStatus", getUseStatus())
            .append("status", getStatus())
            .append("createdTime", getCreatedTime())
            .append("parts", getParts())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
